package com.wb.mianxiangduixiang.lianxi;

import java.util.Scanner;

/**
 * @author 黄衡熙
 * @version 1.0
 * @date 2025年07月21日11:56
 */
// 去宠物店领养宠物, 可以选择三种宠物 1.狗狗 2.猫咪 3.猪猪
// 宠物Pet存在两个属性:name(姓名)、gender(性别)
// 狗狗Dog存在一个自己的属性:age(年龄)
// 猫咪Cat存在一个自己的属性:type(品种)
// 猪猪Pig存在一个自己的属性:hobby(爱好)
// 每一个宠物都有一个show方法, 用于打印对应的宠物信息
// 通过用户输入不同选项选择对应宠物,打印出对应宠物的信息
// 宠物基类
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("\n欢迎来到宠物店领养系统！");
            System.out.println("请选择您想领养的宠物:1.狗狗,2. 猫咪,3.猪猪,4.退出");
            System.out.print("请输入选项：");
            int choice = scanner.nextInt();
            switch (choice) {
                case 1:
                    adoptDog(scanner);
                    break;
                case 2:
                    adoptCat(scanner);
                    break;
                case 3:
                    adoptPig(scanner);
                    break;
                case 4:
                    System.out.println("感谢使用宠物领养系统，再见！");
                    scanner.close();
                    return;
                default:
                    System.out.println("无效的选项，请重新输入！");
            }
        }
    }
    private static void adoptDog(Scanner scanner) {
        System.out.print("请输入狗狗的名字: ");
        String name = scanner.next();
        System.out.print("请输入狗狗的性别: ");
        String gender = scanner.next();
        System.out.print("请输入狗狗的年龄: ");
        int age = getValidIntegerInput(scanner);
        Dog dog = new Dog(name, gender, age);
        System.out.println("\n您已成功领养以下狗狗：");
        dog.show();
    }
    private static void adoptCat(Scanner scanner) {
        System.out.print("请输入猫咪的名字: ");
        String name = scanner.nextLine();
        System.out.print("请输入猫咪的性别: ");
        String gender = scanner.nextLine();
        System.out.print("请输入猫咪的品种: ");
        String type = scanner.nextLine();
        Cat cat = new Cat(name, gender, type);
        System.out.println("\n您已成功领养以下猫咪：");
        cat.show();
    }
    private static void adoptPig(Scanner scanner) {
        System.out.print("请输入猪猪的名字: ");
        String name = scanner.nextLine();
        System.out.print("请输入猪猪的性别: ");
        String gender = scanner.nextLine();
        System.out.print("请输入猪猪的爱好: ");
        String hobby = scanner.nextLine();
        Pig pig = new Pig(name, gender, hobby);
        System.out.println("\n您已成功领养以下猪猪：");
        pig.show();
    }
    private static int getValidIntegerInput(Scanner scanner) {
        while (!scanner.hasNextInt()) {
            System.out.print("输入无效，请输入一个整数: ");
            scanner.next(); // 清除无效输入
        }
        int input = scanner.nextInt();
        scanner.nextLine(); // 清除换行符
        return input;
    }
}
